Structured development of parallel programs

نویسنده

  • Susanna Pelagatti
چکیده

IEEE Concurrency Structured Development of Parallel Programs presents a structured programming methodology for parallel computations that ensures portability, programmability, and good performance. The book’s ultimate goal is to develop a suitable programming language for parallel programming and its compiler. This language is meant to deliver typical parallel constructs (skeletons) and their realizations (templates) on various architectures. The book’s first half presents a critical analysis of the state of the art of parallel software development. It also closely examines several existing approaches to parallel programming, concluding that template-based systems are the best compromise. In this approach, the programmer selects skeletons and their conversion rules, then uses them to build a program. Its performance might not match that of a lowlevel graph-based approach, but it is predictable and easily ensures programmability and portability. The book’s second half describes the P3L template-based methodology and its realization as the P3L language and its compiler, offering application examples. The author maintains that the template-based system gives rise to accurate performance models for the skeletons library designer as well as for the programmer. The technical and mapping details are left to the skeleton library designer, who can fully exploit specific properties of particular skeletons. The P3L methodology incorporates a small set of basic skeletons and their combination rules. Skeleton selection is based on the analysis of existing approaches. The skeletons reflect typical constructs that parallel program designers use. The P3L methodology might be a good starting point for developing efficient highlevel languages for parallel programming. It suggests how to ensure compromise between performance and portability and programmability. In any case, we should not treat it as something closed and finally established— high-level parallel programming languages continue to develop and improve. Such high-level languages would let the programmer concentrate less on the details of the machine’s architecture and more on the algorithm’s design. The lack of high-level languages is one of the major obstacles hampering large, complex software projects and the development of computational algorithms. Currently, the progress of these languages is severely delayed compared to the pure parallel hardware performance. An efficient, high-level language for parallel programming available on computers with parallel processors and on clusters of machines used for distributed computations would be an important tool for people developing general theoretical and application-oriented algorithms. This book should interest people working on parallel algorithms, but, more importantly, it should interest researchers and software engineers developing languages for parallel computations. It might also be of interest to both undergraduate and graduate computer science students because it does not require any special background. It can supplement material for courses devoted to programming languages and compilation techniques, especially for high-level parallel programming. Book Reviews

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A constructive development environment for parallel and distributed programs

Regis is a programming environment aimed at supporting the development and execution of parallel and distributed programs. It embodies a constructive approach to the development of programs based on separating program structure from communication and computation. The emphasis is on constructing programs from multiple parallel computational components which cooperate to achieve the overall goal....

متن کامل

A Structured Approach to Parallel Programming: Methodology and Models

Parallel programming continues to be difficult, despite substantial and ongoing research aimed at making it tractable. Especially dismaying is the gulf between theory and the practical programming. We propose a structured approach to developing parallel programs for problems whose specifications are like those of sequential programs, such that much of the work of development, reasoning, and tes...

متن کامل

A rigorous method for the constructive design of parallel and distributed programs

Parallel and distributed systems engineers are always looking for a way to speed-up their programs. They sometimes forget that well-structured programs are more flexible, and therefore easier to modify or restructure in order to improve performance or to map onto a particular architecture. This paper illustrates a systematic way of designing well-structured parallel and distributed programs. Th...

متن کامل

A survey of algorithmic skeleton frameworks: high-level structured parallel programming enablers

Structured parallel programs ought to be conceived as two separate and complementary entities: computation, which expresses the calculations in a procedural manner, and coordination, which abstracts the interaction and communication. By abstracting commonly-used patterns of parallel computation, communication, and interaction, algorithmic skeletons enable programmers to code algorithms without ...

متن کامل

Faculty Development Programs at Shahid Beheshti University ; Insufficient Strengths

Abstract Introduction: Faculty development programs include all types of systematic support to improve faculty members as teachers, researchers, and citizens of universities, professions, and larger societies. Developing systematic and innovative faculty development programs is among the ways of improving the academic system. Due to the significance of such programs and their effective role in ...

متن کامل

A Rigorous Method for the Constructive Design of Parallel andDistributed

Parallel and distributed systems engineers are always looking for a way to speed-up their programs. They sometimes forget that well-structured programs are more exible, and therefore easier to modify or restructure in order to improve performance or to map onto a particular architecture. This paper illustrates a systematic way of designing well-structured parallel and distributed programs. The ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1999